package ftp

import (
	"encoding/binary"
	"io"
	"log"
	"net"
)

func LogError(err error) {
	log.Printf("err:%v", err)
}

// 写入数据
func WriteData(c net.Conn, content []byte) {
	err := binary.Write(c, binary.BigEndian, int32(len(content)))
	if err != nil {
		LogError(err)
	}
	_, err = c.Write(content)
	if err != nil {
		LogError(err)
	}
}

// 读取数据
func ReadData(conn net.Conn) ([]byte, error) {
	var length int32

	err := binary.Read(conn, binary.BigEndian, &length)
	if err != nil {
		return []byte{}, err
	}

	ret := make([]byte, length)
	_, err = io.ReadFull(conn, ret)
	if err != nil {
		return ret, err
	}

	return ret, nil
}
